The present invention relates to sending data across a network, and more specifically, to maintaining affinity in relation to distribution of data across the network.
Maintaining data affinity ensures that related data packets (aka “data flows”) will be forwarded to the same destination. Ensuring data affinity across a network is a desired network attribute of a network forwarding function that supports multiple destination and/or multiple paths (e.g. a load-balancing system). For example, data packets from the same transmission control protocol (TCP) connection require affinity to avoid a loss of connection, data packets from the same source IP address desire affinity to allow abbreviated transport layer security (TLS) handshakes, and data packets from the same client computing device require affinity to support application specific optimizations and session states.